import unittest

'''
使用unittest前，需导入unittest框架。
TestDemo这个类必须继承unittest.TestCase，TestCase类，所有测试用例类继承的基类。
类内的方法必须以test开头，比如test_add。
断言：assertEqual用来断言预期结果和实际结果是否一致。当然unittest还包含很多其他断言方法，后面统一介绍。
用例执行顺序。在代码中test_sub方法写在test_add前，但实际，test_add比test_sub先运行。为什么呢？unittest执行测试用例，默认是根据ASCII码的顺序加载测试用例，数字与字母的顺序为：0-9，A-Z，a-z。
verbosity是一个选项,表示测试结果的信息复杂度，有0、1、2 三个值。verbosity=0 : 你只能获得测试用例数总的结果；verbosity=1 (默认模式): 在每个成功的用例前面有个“.” 每个失败的用例前面有个 “F”；verbosity=2 (详细模式):测试结果会显示每个测试用例的所有相关的信息。

'''

# 1、TestCase(测试用例)
class TestDemo(unittest.TestCase):
    # test_sub用例
    def test_sub(self):
        self.assertEqual(2 - 1, 1)

    # test_add用例
    def test_add(self):
        self.assertEqual(2 + 1, 3, "相加报错")

if __name__ == "__main__":
    # unittest.main() 是运行主函数
    unittest.main(verbosity=2)